package com.neuedu.advance.mystatic;

import com.neuedu.advance.polymorphic.Print;

/**
 * @author 金山
 * 项目：javase
 * site: https://blog.fulfill.com.cn
 * 描述  单例模式
 * @data 2024/10/189:49
 */
public class Earth {

    private static   Earth earth ;


    //1 构造方法 私有化，禁止外部随意的实例
    private Earth() {
    }


    public void printPersonSize(){
        System.out.println("地球上  60亿人");
    }


    //共有的 静态  方法用于产生一个全局唯一的对象
    // public static Earth  getInstance(){
    //     synchronized (earth){
    //         if(earth == null){
    //             System.out.println("只会执行一次");
    //             earth = new Earth();
    //         }
    //     }
    //
    //     return  earth;
    // }


    public synchronized static Earth  getInstance(){
        if(earth == null){
            System.out.println("只会执行一次");
            earth = new Earth();
        }

        return  earth;
    }

}
